package p2pp;
import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import p2pp.FileDownloadProgressListener.LogReader;
import p2pp.FileDownloadProgressListener.Piece;
public class CompleteAnalyzer implements Analyzer<Integer> {
private List<Piece> pieces;
public CompleteAnalyzer(String filename) throws IOException {
LogReader reader = new LogReader(filename);
this.pieces = reader.read(true);
}
public CompleteAnalyzer(List<Piece> pieces) {
this.pieces = pieces;
}
@Override
public Integer analyze() {
Comparator<Piece> complete = new Comparator<Piece>() {
@Override
public int compare(Piece o1, Piece o2) {
return (int) (o1.getRequests().get(0).getReceived() -
o2.getRequests().get(0).getReceived());
}
};
Piece last = Collections.max(pieces, complete);
return (int) last.getRequests().get(0).getReceived();
}
}